One of the most significant parts in a system based upon rules is the rules themselves and the interactions among the rules when determining whether to allow actions to occur. One manner of organizing rules is into tables or trees so that a sequential evaluation approach is employed. For every new object entering the system, the rules are searched until a rule that matches the object's parameters is found. Another manner of organizing rules is into rule sets so that an object that satisfies the parameters of a rule set would enter those set of rules for evaluation purposes. This provides further options such as applying policies to individual or multiple users at once. Once an object satisfies the parameters of the rule set, the rules within that rule set would be applied to the object in a similar manner as done with the table or tree rule organization. In both methods, when a new rule is introduced, it is simply added into the system and the rule is addressed upon a new object entering the system.
The methods described above utilize a system where all rules or those rules comprising a rule set must be addressed to evaluate an object that enters the system. However, it has been demonstrated that in a rule based system, there is typically a relationship between the rules that allows one rule to be engaged as a result of the execution of another rule. Currently, the methods of rule organization do not take into account the interconnecting relationship of rules in a system. This creates additional problems that may become very difficult to rectify, particularly if a new rule needs to be incorporated that has unknown conflicts with existing rules. A need exists for a method to incorporate not just the rules and their parameters but also the relationships involved between the rules allowing greater control over maintenance of the system.